              <div align="right">
${TARGET="offline"}                <a href="${LDAP_SDK_HOME_URL}" style="font-size: 85%">LDAP SDK Home Page</a>
${TARGET="offline"}                <br>
                <a href="${BASE}index.${EXTENSION}" style="font-size: 85%">Product Information</a>
              </div>

              <h2>Example Source Files</h2>

              <p></p>
              <p>
                <a href="AuthRate.java">AuthRate.java</a>
              </p>

              <p>
                Provides a tool that can be used to perform repeated authentications against an
                LDAP directory server using multiple threads.  Each authentication will consist of
                two operations:  a search to find the target user, and then a bind as that user.
                This tool can help provide an estimate of the authentication performance that a
                directory server is able to achieve.  The base DN for the searches can be
                specified using a value pattern, like
                "uid=user.[1-1000],ou=People,dc=example,dc=com", and the search filter may also be
                provided as a value pattern, like "(uid=user.[1-1000])".  Some of the APIs
                demonstrated by this example include:
              </p>

              <ul>
                <li>Argument Parsing</li>
                <li>LDAP Command Line Tool</li>
                <li>LDAP Communication</li>
                <li>Value Patterns</li>
              </ul>

              <hr>

              <p></p>
              <p>
                <a href="IdentifyReferencesToMissingEntries.java">IdentifyReferencesToMissingEntries.java</a>
              </p>

              <p>
                Provides a tool that can be used to identify any entries that contain
                references to one or more other entries that do not exist.  Some of the APIs
                demonstrated by this example include:
              </p>

              <ul>
                <li>Argument Parsing</li>
                <li>LDAP Command Line Tool</li>
                <li>LDAP Communication</li>
              </ul>

              <hr>

              <p></p>
              <p>
                <a href="IdentifyUniqueAttributeConflicts.java">IdentifyUniqueAttributeConflicts.java</a>
              </p>

              <p>
                Provides a tool that can be used to identify any values for a specified attribute
                or set of attributes that appear in multiple entries.  Some of the APIs
                demonstrated by this example include:
              </p>

              <ul>
                <li>Argument Parsing</li>
                <li>LDAP Command Line Tool</li>
                <li>LDAP Communication</li>
              </ul>

              <hr>

              <p></p>
              <p>
                <a href="LDAPCompare.java">LDAPCompare.java</a>
              </p>

              <p>
                Provides a tool that can be used to perform compare operations in an LDAP
                directory server.  Some of the APIs demonstrated by this example include:
              </p>

              <ul>
                <li>Argument Parsing</li>
                <li>LDAP Command Line Tool</li>
                <li>LDAP Communication</li>
              </ul>

              <hr>

              <p></p>
              <p>
                <a href="LDAPDebugger.java">LDAPDebugger.java</a>
              </p>

              <p>
                Provides a tool that can be used to act as a simple LDAP proxy that will intercept
                and decode any LDAP traffic passing through it.  This can be used to observe
                detailed information about LDAP traffic between a client and server if the client
                can be altered to point to an alternate server address.  Some of the APIs
                demonstrated by this example include:
              </p>

              <ul>
                <li>Argument Parsing</li>
                <li>LDAP Command Line Tool</li>
                <li>LDAP Communication</li>
                <li>LDAP Listener</li>
              </ul>

              <hr>

              <p></p>
              <p>
                <a href="LDAPModify.java">LDAPModify.java</a>
              </p>

              <p>
                Provides a tool that can be used to perform add, delete, modify, and modify DN
                operations in an LDAP directory server.  The write operations to perform should
                be provided in LDIF form.  Some of the APIs demonstrated by this example include:
              </p>

              <ul>
                <li>Argument Parsing</li>
                <li>LDAP Command Line Tool</li>
                <li>LDIF Processing</li>
              </ul>

              <hr>

              <p></p>
              <p>
                <a href="LDAPSearch.java">LDAPSearch.java</a>
              </p>

              <p>
                Provides a tool that can be used to perform search operations in an LDAP directory
                server.  Some of the APIs demonstrated by this example include:
              </p>

              <ul>
                <li>Argument Parsing</li>
                <li>LDAP Command Line Tool</li>
                <li>LDAP Communication</li>
              </ul>

              <hr>

              <p></p>
              <p>
                <a href="ModRate.java">ModRate.java</a>
              </p>

              <p>
                Provides a tool that can be used to perform repeated modifications in an LDAP
                directory server using multiple threads.  It can help provide an estimate of the
                modify performance that a directory server is able to achieve.  The DN of the
                entries to modify can be specified using a value pattern, like
                "uid=user.[1-1000],ou=People,dc=example,dc=com".  Some of the APIs demonstrated
                by this example include:
              </p>

              <ul>
                <li>Argument Parsing</li>
                <li>LDAP Command Line Tool</li>
                <li>LDAP Communication</li>
                <li>Value Patterns</li>
              </ul>

              <hr>

              <p></p>
              <p>
                <a href="SearchRate.java">SearchRate.java</a>
              </p>

              <p>
                Provides a tool that can be used to perform repeated searches in an LDAP directory
                server using multiple threads.  It can help provide an estimate of the
                search performance that a directory server is able to achieve.  The base DN for
                the searches can be specified using a value pattern, like
                "uid=user.[1-1000],ou=People,dc=example,dc=com", and the search filter may also be
                provided as a value pattern, like "(uid=user.[1-1000])".  Some of the APIs
                demonstrated by this example include:
              </p>

              <ul>
                <li>Argument Parsing</li>
                <li>LDAP Command Line Tool</li>
                <li>LDAP Communication</li>
                <li>Value Patterns</li>
              </ul>

              <hr>

              <p></p>
              <p>
                <a href="SearchAndModRate.java">SearchAndModRate.java</a>
              </p>

              <p>
                Provides a tool that can be used to perform repeated searches in an LDAP directory
                server using multiple threads, and then to modify each entry returned.  It can
                help provide an estimate of the search and modify performance that a directory
                server is able to achieve.  The base DN for the searches can be specified using a
                value pattern, like "uid=user.[1-1000],ou=People,dc=example,dc=com", and the
                search filter may also be provided as a value pattern, like "(uid=user.[1-1000])".
                Some of the APIs demonstrated by this example include:
              </p>

              <ul>
                <li>Argument Parsing</li>
                <li>LDAP Command Line Tool</li>
                <li>LDAP Communication</li>
                <li>Value Patterns</li>
              </ul>

              <hr>

              <p></p>
              <p>
                <a href="ValidateLDIF.java">ValidateLDIF.java</a>
              </p>

              <p>
                Provides a tool that can be used to validate that the contents of an LDIF file are
                valid.  This includes ensuring that the contents can be parsed as valid LDIF, and
                it can also ensure that the LDIF content conforms to a server schema.  It will
                obtain the schema by connecting to the server and retrieving the default schema
                (i.e., the schema which governs the root DSE).  Some of the APIs demonstrated by
                this example include:
              </p>

              <ul>
                <li>Argument Parsing</li>
                <li>LDAP Command Line Tool</li>
                <li>LDIF Processing</li>
                <li>Schema Parsing</li>
              </ul>
